Skip to content

Commit ac7f7b0

Browse files
committed
digital double logic
1 parent de33772 commit ac7f7b0

File tree

8 files changed

+313
-79
lines changed

8 files changed

+313
-79
lines changed
Lines changed: 113 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1,113 @@
1-
asdf
1+
package oracleai;
2+
3+
import com.oracle.bmc.retrier.RetryConfiguration;
4+
import org.springframework.boot.SpringApplication;
5+
import org.springframework.boot.autoconfigure.SpringBootApplication;
6+
7+
import java.io.File;
8+
import java.io.FileWriter;
9+
import java.io.IOException;
10+
11+
@SpringBootApplication
12+
public class AIApplication {
13+
14+
public static final String COMPARTMENT_ID="ocid1.compartment.oc1..aaaaaaaafnah3ogykjsg34qruhixhb2drls6zhsejzm7mubi2i5qj66slcoq";
15+
public static final String OBJECTSTORAGE_NAMESPACE="oradbclouducm";
16+
public static final String OBJECTSTORAGE_BUCKETNAME="doc";
17+
public static final String ORDS_OMLOPSENDPOINT_URL="https://rddainsuh6u1okc-ragdb.adb.us-ashburn-1.oraclecloudapps.com/ords/omlopsuser/";
18+
public static final String ORDS_ENDPOINT_URL="https://rddainsuh6u1okc-gd740878851.adb.us-ashburn-1.oraclecloudapps.com/ords/aiuser/";
19+
public static final String OCI_VISION_SERVICE_ENDPOINT="https://vision.aiservice.myregion.oci.oraclecloud.com";
20+
public static final String OCI_SPEECH_SERVICE_ENDPOINT="https://speech.aiservice.myregion.oci.oraclecloud.com";
21+
public static final String OCI_GENAI_SERVICE_ENDPOINT="https://inference.generativeai.us-chicago-1.oci.oraclecloud.com";
22+
public static final String OPENAI_KEY="sk-proj-708e3KQqGY9fGfoJ4edWT3BlbkFJMGcsVq7JBOWPg4mxn0Y8";
23+
public static final String THREEDEY = "msy_oCS1X5nuRxS06AjdlTJ0vCHg3OFyOhpaCMoa";
24+
public static String OCICONFIG_FILE = "~/.oci/config";
25+
public static final String OCICONFIG_PROFILE = "DEFAULT";
26+
public static final String OCICONFIG_FILECONTENTS = "[DEFAULT]\n" +
27+
"user = ocid1.user.oc1..aaaaaaaasd37w2te2a2c4ijpaf4axsxmky6hinmygkqm2csijpvvbspzfssq\n" +
28+
"fingerprint = 97:86:0a:a9:1a:af:c0:20:59:31:0b:a9:20:cf:f5:bc\n" +
29+
"tenancy = ocid1.tenancy.oc1..aaaaaaaaj4ccqe763dizkrcdbs5x7ufvmmojd24mb6utvkymyo4xwxyv3gfa\n" +
30+
"region = us-ashburn-1\n" +
31+
"key_file = /Users/pparkins/.ssh/oracleidentitycloudservice_paul.parkinson-05-07-03-14.pem\n";
32+
// public static final String COMPARTMENT_ID = System.getenv("COMPARTMENT_ID");
33+
// public static final String OBJECTSTORAGE_NAMESPACE = System.getenv("OBJECTSTORAGE_NAMESPACE");
34+
// public static final String OBJECTSTORAGE_BUCKETNAME = System.getenv("OBJECTSTORAGE_BUCKETNAME");
35+
// public static final String ORDS_ENDPOINT_URL = System.getenv("ORDS_ENDPOINT_URL");
36+
// public static final String OCI_VISION_SERVICE_ENDPOINT = System.getenv("OCI_VISION_SERVICE_ENDPOINT");
37+
// public static final String OCI_SPEECH_SERVICE_ENDPOINT = System.getenv("OCI_SPEECH_SERVICE_ENDPOINT");
38+
// public static final String OCI_GENAI_SERVICE_ENDPOINT = System.getenv("OCI_GENAI_SERVICE_ENDPOINT");
39+
// public static final String OCICONFIG_FILE = System.getenv("OCICONFIG_FILE");
40+
// public static final String OCICONFIG_PROFILE = System.getenv("OCICONFIG_PROFILE");
41+
42+
static {
43+
System.out.println("AIApplication.static initializer COMPARTMENT_ID:" + COMPARTMENT_ID);
44+
System.out.println("AIApplication.static initializer OBJECTSTORAGE_NAMESPACE:" + OBJECTSTORAGE_NAMESPACE);
45+
System.out.println("AIApplication.static initializer OBJECTSTORAGE_BUCKETNAME:" + OBJECTSTORAGE_BUCKETNAME);
46+
System.out.println("AIApplication.static initializer ORDS_ENDPOINT_URL:" + ORDS_ENDPOINT_URL);
47+
System.out.println("AIApplication.static initializer OCI_VISION_SERVICE_ENDPOINT:" + OCI_VISION_SERVICE_ENDPOINT);
48+
49+
String configContent = "-----BEGIN PRIVATE KEY-----\n" +
50+
"MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDIMHqvSkZnLcOC\n" +
51+
"+g46kZUA1Zat9GYJ7Y2wHDYqZaSGMc3jwEo8jHCJfVaPh+0sq4kIDtAsog09XR+s\n" +
52+
"LUitRee8SfO+hWcIYwZhYHglrfeUnAio4HQXZCiU3DC2WTD4DsF0WS9jbxuWLg89\n" +
53+
"svvO5Ab+w44x1tE3sEj/lnRMHCsyEmrUBLE0mHdGdapvWZPlnKcc3IkWlA3CeZiq\n" +
54+
"tuUYZdC/yQSW9K7L1JLyo91+is22miENVwfrGgpiMln43Q0Wrti3/LqITq2Ucvd6\n" +
55+
"e4/9lSPao59v2UdEFuZmEWR3KDluZ35csC1DEF05x0k6E9No8SFFU7JcEV8pXpg8\n" +
56+
"fvrO2TddAgMBAAECggEAUsFXtibqO7T7YaWlRCjyg8nH5Fln5SrCq869xYEHJkJo\n" +
57+
"boILLkSQMQYTRnpWXWT73Mzi2dCT0I4yjaaaqKaBSaD4lgXntdvZw19xy4HDGzf1\n" +
58+
"jHpdA15wODleGcN9Ls5KwqIrqNtBeC/KNSNMXRZ+ncqReaDoFDFXu/CiWuQ6JxQi\n" +
59+
"gjX/nSPRjJaKXQwQSxQxVr6DI+dG1fzmln0MGYvsTw7CagFY4V0mIgNzMZhB5Jtz\n" +
60+
"0ceJYPQv4fBhBYFgw6NLuXrweFaFVwAAZRWUVlMKUQ5+FhMDjGwybgbwMISTHJZb\n" +
61+
"WktmQh+Ek1nw89u9tMOOkz7fn+2RKUjxJRoBqVNMsQKBgQDv2kPVX3g1cRwGxHgS\n" +
62+
"oeKUbLpDXY5SvB8A9+f8kz3eAzyLYs9JNcwT+XN3ZKTZcFcYsUJHfNU9IYaHScHX\n" +
63+
"sOjNof+zNfbKWTnLujU4iGAXMVpnkRvYM4TPAlsllt0n/gS2ByM3ztX7cIOGAhCa\n" +
64+
"XiQGp294sShaRDr0YhuMT80XMwKBgQDVqqOf0Z3Bi8vL7OO46PipPnqzKRFr+qOm\n" +
65+
"JIsTZTed0ORzhuLiZ4YGaI/wRxIugv03odxUGXmYscuocmGkGIQEiibQVWoXCW6L\n" +
66+
"0jWyjMK+r1Nue0kKh5ikIAEZzWMvqm2rL7o8C3AHRdH9hdSQ/cl7UCq6Q8nTgUwP\n" +
67+
"XdrYLvI3LwKBgQCoZvkFkRhXfWkOH1emzV7Gk2hb8A4DbO3fwi9xmPfxLxiNTPz5\n" +
68+
"C/qTc6tsgo9z03pzbdF5W95kI2vPBSxCgoWSC1H6w8LY47i+n6jKXoYJAq/U039X\n" +
69+
"VyTCK4dPZxM0BxfLrks93c1D0wWlS0HZAIwO1/ReKxSH/CvgdhmddFItHQKBgG37\n" +
70+
"+2P+G62QT2R2WTZKvg0oezKUFkK17t1L/EcMmBdleuM48LtIPMY5trYhb2t/w+aK\n" +
71+
"LAciYeRGySW5UyeL8xD/KEGfZg/brArPNxLkwC41w8WgMpX3/IunacmlXsQff3pa\n" +
72+
"BAx6er1TpGdTJ3tHGBqgxo3A7TgxWzyhvFABwm7DAoGAT49+Sdn8Uk3HRyC2v2Zy\n" +
73+
"psvKfgt9tyXhixUhyPh2JSUAyEyxTP7okqjNtu4eHq+oxMhwSVwOdfxvQyb5NVQu\n" +
74+
"sMZ6x5oz6yXR6UkoRwsqHdNhT205hZLJGjNEa8gK5dlG23jqLpB+B2GGt6LOtxnF\n" +
75+
"XbXBbFxwvY/wy+xtdtQA6W0=\n" +
76+
"-----END PRIVATE KEY-----%";
77+
78+
String pemFilePath = makeFileAndReturnFilePath(
79+
"oracleidentitycloudservice_paul.parkinson-05-07-03-14","pem",configContent);
80+
configContent = "[DEFAULT]\n" +
81+
"user = ocid1.user.oc1..aaaaaaaasd37w2te2a2c4ijpaf4axsxmky6hinmygkqm2csijpvvbspzfssq\n" +
82+
"fingerprint = 97:86:0a:a9:1a:af:c0:20:59:31:0b:a9:20:cf:f5:bc\n" +
83+
"tenancy = ocid1.tenancy.oc1..aaaaaaaaj4ccqe763dizkrcdbs5x7ufvmmojd24mb6utvkymyo4xwxyv3gfa\n" +
84+
"region = us-ashburn-1\n" +
85+
"key_file = "+pemFilePath;
86+
OCICONFIG_FILE = makeFileAndReturnFilePath("config", "", configContent);
87+
System.out.println("----------------OCICONFIG_FILE:" + OCICONFIG_FILE);
88+
}
89+
90+
private static String makeFileAndReturnFilePath(String fileName, String suffix, String configContent) {
91+
String filePath;
92+
try {
93+
File configFile = File.createTempFile(fileName, suffix);
94+
try (FileWriter writer = new FileWriter(configFile)) {
95+
writer.write(configContent);
96+
}
97+
filePath = configFile.getAbsolutePath();
98+
System.out.println("Config file created at: " + filePath);
99+
return filePath;
100+
} catch (IOException e) {
101+
System.err.println("Error creating config file: " + e.getMessage());
102+
return "";
103+
}
104+
}
105+
106+
public static void main(String[] args) {
107+
// RetryConfiguration retryConfiguration = RetryConfiguration.builder()
108+
// .terminationStrategy(RetryUtils.createExponentialBackoffStrategy(500, 5)) // Configure limits
109+
// .build();
110+
SpringApplication.run(AIApplication.class, args);
111+
}
112+
113+
}

java-ai/src/main/java/oracleai/DigitalDoubleService.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ public class DigitalDoubleService {
2222
// }
2323

2424
public void updateDigitalDoubleData(DigitalDoubleDownloadInfo info) {
25-
String url = "https://rddainsuh6u1okc-ragdb.adb.us-ashburn-1.oraclecloudapps.com/ords/omlopsuser/update_digital_double_data/";
25+
String url = AIApplication.ORDS_OMLOPSENDPOINT_URL + "update_digital_double_data/";
2626

2727
// Prepare headers
2828
HttpHeaders headers = new HttpHeaders();

java-ai/src/main/java/oracleai/DigitalDoubles.java

Lines changed: 4 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -74,24 +74,6 @@ public String uploadimageandvideo(
7474
}
7575
imageProcessor.handleImageUpload(email, image, fullVideoName);
7676

77-
// try {
78-
// org.apache.commons.io.FileUtils.forceMkdir(new File(DIRECTORY));
79-
// String imageFileNameWithEmailPrefix = email + "_" + image.getOriginalFilename();
80-
// Path path = Paths.get(DIRECTORY + imageFileNameWithEmailPrefix);
81-
// image.transferTo(path);
82-
// String fbxUrl = ORDSCalls.convertImage("http://129.80.168.144/digitaldoubles/images/",
83-
// imageFileNameWithEmailPrefix);
84-
// model.addAttribute("resultlink", fbxUrl);
85-
// model.addAttribute("resulttext", "Click here for your FBX 3D model");
86-
// return "resultswithlinkpage";
87-
// } catch (Exception e) {
88-
// return e.toString();
89-
//// ResponseEntity.internalServerError().body("Could not upload the file: " + e.getMessage());
90-
// }
91-
92-
// model.addAttribute("resultlink", "http://129.80.168.144/UploadDigitalDouble.html");
93-
// model.addAttribute("resulttext",
94-
// "Image not provided or is empty. Click here to try again.");
9577
return "digitaldoubledownload";
9678

9779
}
@@ -110,7 +92,10 @@ public ResponseEntity<byte[]> getImage(@PathVariable String filename) throws IOE
11092

11193
@PostMapping("/downloaddigitaldouble")
11294
public String downloaddigitaldouble(@RequestParam("email") String email, Model model) {
113-
ORDSCalls.getDigitalDoubleData(email, model);
95+
model.addAttribute("fbxlink", ORDSCalls.getDigitalDoubleData(email));
96+
model.addAttribute("fbxtest", "fbx link");
97+
model.addAttribute("mp4link", ImageProcessor.objectStoreLocation + email);
98+
model.addAttribute("mp4text", "mp4 link");
11499
return "resultswithlinkpage";
115100
// return "digitaldoubleresults";
116101
}

java-ai/src/main/java/oracleai/ImageProcessor.java

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,7 @@ public String handleImageUpload(String email, MultipartFile image, String fullVi
4040
return "Image is being processed";
4141
}
4242

43-
private static String objectStoreLocation =
43+
public static String objectStoreLocation =
4444
"https://" + AIApplication.OBJECTSTORAGE_NAMESPACE + ".compat.objectstorage.us-ashburn-1.oraclecloud.com/" +
4545
AIApplication.OBJECTSTORAGE_BUCKETNAME + "/anim/";
4646

java-ai/src/main/java/oracleai/services/DigitalDoubleORDS.java

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
package oracleai.services;
22

3+
import oracleai.AIApplication;
34
import org.springframework.http.HttpEntity;
45
import org.springframework.http.HttpHeaders;
56
import org.springframework.http.HttpMethod;
@@ -10,7 +11,7 @@
1011
public class DigitalDoubleORDS {
1112

1213
public void insertDigitalDoubleData(DigitalDoubleDataRequest request) {
13-
String url = "https://rddainsuh6u1okc-ragdb.adb.us-ashburn-1.oraclecloudapps.com/ords/omlopsuser/insert_digital_double_data/";
14+
String url = AIApplication.ORDS_OMLOPSENDPOINT_URL + "insert_digital_double_data/";
1415

1516
RestTemplate restTemplate = new RestTemplate();
1617

0 commit comments

Comments
 (0)